package co.edu.udea.quejas.bl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;

import com.sun.org.apache.xalan.internal.xsltc.compiler.Pattern;
import com.sun.org.apache.xerces.internal.impl.xs.identity.Selector.Matcher;

import co.edu.udea.quejas.DAO.PersonaDAO;
import co.edu.udea.quejas.DAO.hibernate.PersonaDAOHibernate;
import co.edu.udea.quejas.DTO.Persona;
import co.edu.udea.quejas.DTO.Persona;
import co.edu.udea.quejas.exception.IWDaoException;
import co.edu.udea.quejas.validaciones.Validaciones;


public class PersonaBL {
	
	@Autowired
	static PersonaDAO personaDAO ;
	
	
	public void ingresarPersona(Persona persona) throws IWDaoException  {
		if(persona == null){
			throw new IWDaoException("No Ingresar una persona vacia");
		}
		List<Persona> personas = personaDAO.obtener();
		for (Persona persona2 : personas) {
				if (persona.getCedula().equals(persona2.getCedula())){
					throw new IWDaoException("Ya existe una persona registrada con esa cedula");
					
				}
				if(Validaciones.EsCorreo(persona.getCorreo())==false){
					throw new IWDaoException(" El correo especificado no es valido");
					
				}
				 
				
				
		}
		try {
			personaDAO.insertar(persona);
		} catch (IWDaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	
	public void borrarPersona(String cedula) throws IWDaoException{
		if(cedula != null){
			Persona p = new Persona();
			p.setCedula(cedula);
			personaDAO.eliminarDef(p);
		}
	}
}
